An object file is created when a program is compiled: the go compiler is writen in go, and it creates a go object. This object has a Syms array (array of goobj.Sym structs):
&goobj.Sym{
  SymID: goobj.SymID{Name:"main.main", Version:0},
  Kind:  1,
  // ...main.main symbol is the first symbol in the SYM array from goobj packages, corresponding to STEXT. These contain executable codeReloc array in the Sym struct consists of the following structs